package models.services;

import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

import org.apache.log4j.Logger;

import models.entities.DetalleOrden;
import models.services.utils.DBManager;

public class ServicioDetalleOrdenes {

	private final static Logger logger = Logger
			.getLogger(ServicioDetalleOrdenes.class);

	public boolean borrarDetallesDe(int ordenid) {
		DBManager manager = DBManager.getInstance();
		String sql = "delete from detalledelaorden where ordenid = " + ordenid;
		int result = manager.guardarActualizar(sql);
		if (result > 0) {
			return true;
		} else {
			return false;
		}
	}

	public int crearDetalle(DetalleOrden detalle) {
		DBManager manager = DBManager.getInstance();
		int cantidad = detalle.getCantidad();
		int descuento = detalle.getDescuento();
		int ordenId = detalle.getOrdenId();
		int productoId = detalle.getProductoId();
		String sql = "insert into detalledelaorden values(" + ordenId + ","
				+ productoId + "," + cantidad + "," + descuento + ",0)";
		int res = manager.guardarActualizar(sql);
		return res;
	}

	public List<DetalleOrden> obtenerDetallesDe(int idOrden) {
		DBManager manager = DBManager.getInstance();
		List<DetalleOrden> detalles = new ArrayList<DetalleOrden>();
		String sql = "select * from detalledelaorden where ordenid = "
				+ idOrden;
		ResultSet rs = manager.consultar(sql);
		try {
			while (rs.next()) {
				DetalleOrden detalle = new DetalleOrden();
				int ordenid = rs.getInt("ordenid");
				int productid = rs.getInt("productoid");
				int cantidad = rs.getInt("cantidad");
				int descuento = rs.getInt("descuento");
				// int total = rs.getInt("total");
				detalle.setCantidad(cantidad);
				detalle.setDescuento(descuento);
				detalle.setOrdenId(ordenid);
				detalle.setProductoId(productid);
				detalles.add(detalle);
			}
		} catch (Exception e) {
			logger.error(e.getCause(), e);
		}
		return detalles;
	}

}
